<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>Catalina Functional Specifications (8.0.39) - Tomcat MBean Names</title><meta name="author" content="Craig McClanahan"><meta name="author" content="Amy Roh"><script type="application/javascript" data-comments-identifier="tomcat-8.0-doc/funcspecs/mbean-names">
    "use strict"; // Enable strict mode

    (function() {
      var thisScript = document.currentScript;
      if (!thisScript) { // Workaround for IE <= 11
        var scripts = document.getElementsByTagName("script");
        thisScript = scripts[scripts.length - 1];
      }
      document.addEventListener("DOMContentLoaded", (function() {
        var commentsDiv = document.getElementById("comments_thread");
        var commentsShortname = "tomcat";
        var commentsIdentifier = "http://tomcat.apache.org/" +
          thisScript.getAttribute("data-comments-identifier") + ".html";

        (function(w, d) {
          if (w.location.hostname.toLowerCase() == "tomcat.apache.org") {
            var s = d.createElement("script");
            s.type = "application/javascript";
            s.async = true;
            s.src = "https://comments.apache.org/show_comments.lua?site=" +
              encodeURIComponent(commentsShortname) +
              "&page=" + encodeURIComponent(commentsIdentifier);
            d.head.appendChild(s);
          } else {
            commentsDiv.appendChild(d.createTextNode("Comments are disabled for this page at the moment."));
          }
        })(window, document);
      }), false);
    })();
  </script></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="http://www.apache.org/" target="_blank"><img src="../images/asf-feather.png" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>Catalina Functional Specifications</h1><div class="versionInfo">
          Version 8.0.39,
          <time datetime="2016-11-09">Nov 9 2016</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul></div><div><h2>Administrative Apps</h2><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul></div><div><h2>Internal Servlets</h2><ul><li><a href="fs-default.html">Default Servlet</a></li></ul></div><div><h2>Realm Implementations</h2><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>Tomcat MBean Names</h2><h3 id="Table_of_Contents">Table of Contents</h3><div class="text">
<ul><li><a href="#Background">Background</a></li><li><a href="#Catalina_Object_Hierarchy">Catalina Object Hierarchy</a></li><li><a href="#MBean_Groups_and_Names">MBean Groups and Names</a></li><li><a href="#JSR-88_Cross_Reference">JSR-88 Cross Reference</a></li></ul>
</div><h3 id="Background">Background</h3><div class="text">

    <p>We will be using <em>JMX MBeans</em> as the technology for
    implementing manageability of Tomcat.</p>

    <p>One of the key concepts of JMX is that each management bean has a uniqu
    name in the MBeanServer's registry, and that management applications can
    utilize these names to retrieve the MBean of interest to them for a
    particular management operation. This document proposes a naming convention
    for MBeans that allows easy calculation of the name for a particular MBean.
    For background information on JMX MBean names, see the <em>Java Management
    Extensions Instrumentation and Agent Specification</em>, version 1.0,
    section 6. In particular, we will be discussing the String Representation of
    <code>ObjectName</code> instances.</p>

</div><h3 id="Catalina_Object_Hierarchy">Catalina Object Hierarchy</h3><div class="text">

<p>Tomcat's servlet container implementation, called Catalina, can be
represented as a hierarchy of objects that contain references to each other.
The object hierarchy can be represented as a tree, or (isomorphically) based
on the nesting of configuration elements in the <code>conf/server.xml</code>
file that is traditionally used to configure Tomcat stand-alone.</p>

<p>The valid component nestings for Catalina are depicted in the following
table, with columns that contain the following values:</p>
<ul>
<li><em>Pattern</em> - Nesting pattern of XML elements (in the
    <code>conf/server.xml</code> file) used to configure this component.</li>
<li><em>Cardinality</em> - Minimum and maximum number of occurrences of
    this element at this nesting position, which also corresponds to the
    minimum and maximum number of Catalina components.</li>
<li><em>Identifier</em> - Name of the JavaBeans property of this component
    that represents the unique identifier (within the nested hierarchy),
    if any.</li>
<li><em>MBean ObjectName</em> - The portion of the MBean object name that
    appears <strong>after</strong> the domain name.  For now, it should be
    assumed that all of these MBeans appear in the default JMX domain.</li>
</ul>

<p>In the <em>MBean ObjectName</em> descriptions, several types of symbolic
expressions are utilized to define variable text that is replaced by
corresponding values:</p>
<ul>
<li><em>${GROUP}</em> - One of the standard MBean names of the specified
    "group" category.  For example, the expression <code>${REALM}</code>
    represents the values like <code>JDBCRealm</code> and <code>JAASRealm</code>
    that identify the various MBeans for possible <code>Realm</code> components.</li>
<li><em>${name}</em> - Replaced by the value of property <code>name</code>
    from the current component.</li>
<li><em>${parent.name}</em> - Replaced by the value of property
    <code>name</code> from a parent of the current component, with the
    parent's type identified by <em>parent</em>.</li>
<li><em>${###}</em> - An arbitrary numeric identifier that preserves
    order but has no other particular meaning.  In general, the server will
    assign numeric values to existing instances with large gaps into which
    new items can be configured if desired.</li>
</ul>

<table class="defaultTable">

  <tr>
    <th>Pattern</th>
    <th>Cardinality</th>
    <th>Identifier</th>
    <th>MBean ObjectName</th>
  </tr>

  <tr>
    <td>Server</td>
    <td style="text-align: center;">1..1</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${SERVER}</code></td>
  </tr>

  <tr>
    <td>Server / Listener</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${LISTENER}, sequence=${###}</code></td>
  </tr>

  <tr>
    <td>Server / Service</td>
    <td style="text-align: center;">1..n</td>
    <td style="text-align: center;"><code class="noHighlight">name</code></td>
    <td><code class="noHighlight">type=${SERVICE}, name=${name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Connector</td>
    <td style="text-align: center;">1..n</td>
    <td style="text-align: center;"><code class="noHighlight">address, port</code></td>
    <td><code class="noHighlight">type=${CONNECTOR}, service=${service}, port=${port},
        address=${address}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Connector / Factory</td>
    <td style="text-align: center;">0..1</td>
    <td style="text-align: center;">(none)</td>
    <td>(Only defined explicitly for an SSL connector, but can be treated
        as part of the connector component)</td>
  </tr>

  <tr>
    <td>Server / Service / Connector / Listener</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${LISTENER}, sequence=${###}, service=${service},
        port=${connector.port}, address=${connector.address}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine</td>
    <td style="text-align: center;">1..1</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${ENGINE}, service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host</td>
    <td style="text-align: center;">1..n</td>
    <td style="text-align: center;"><code class="noHighlight">name</code></td>
    <td><code class="noHighlight">type=${HOST}, host=${name},
        service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Context</td>
    <td style="text-align: center;">1..n</td>
    <td style="text-align: center;"><code class="noHighlight">path</code></td>
    <td><code class="noHighlight">type=${CONTEXT}, context=${name}, host=${host.name},
        service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Context / InstanceListener</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${INSTANCE-LISTENER}, sequence=${###},
        context=${context.name}, host=${host.name},
        service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Context / Listener</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${LISTENER}, sequence=${###}, context=${context.name},
        host=${host.name}, service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Context / Loader</td>
    <td style="text-align: center;">0..1</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${LOADER}, context=${context.name}, host=${host.name},
        service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Context / Manager</td>
    <td style="text-align: center;">0..1</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${MANAGER}, context=${context.name}, host=${host.name},
        service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Context / Realm</td>
    <td style="text-align: center;">0..1</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${REALM}, context=${context.name}, host=${host.name},
        service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Context / Resources</td>
    <td style="text-align: center;">0..1</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${RESOURCES}, context=${context.name}, host=${host.name},
        service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Context / Valve</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${VALVE}, sequence=${###}, context=${context.name},
        host=${host.name}, service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Context / Wrapper</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">j2eeType=Servlet,name=${name},
        WebModule=//${host.name}/${context.name},
        J2EEApplication=${context.J2EEApplication},
        J2EEServer=${context.J2EEServer}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Context / WrapperLifecycle</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${WRAPPER-LIFECYCLE}, sequence=${###},
        context=${context.name}, host=${host.name},
        service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Context / WrapperListener</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${WRAPPER-LISTENER}, sequence=${###},
        context=${context.name}, host=${host.name},
        service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Listener</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${LISTENER}, sequence=${###}, host=${host.name},
        service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Realm</td>
    <td style="text-align: center;">0..1</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${REALM}, host=${host.name},
        service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Host / Valve</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${VALVE}, sequence=${###},
        host=${host.name}, service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Listener</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${LISTENER}, sequence=${###}</code>
        (<strong>FIXME</strong> - disambiguate from Server / Service /
        Listener)</td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Realm</td>
    <td style="text-align: center;">0..1</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${REALM}, service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Engine / Valve</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${VALVE}, sequence=${###},
        service=${service.name}</code></td>
  </tr>

  <tr>
    <td>Server / Service / Listener</td>
    <td style="text-align: center;">0..n</td>
    <td style="text-align: center;">(none)</td>
    <td><code class="noHighlight">type=${LISTENER}, sequence=${###}</code>
        (<strong>FIXME</strong> - disambiguate from Server / Service /
        Engine / Listener)</td>
  </tr>

</table>

</div><h3 id="MBean_Groups_and_Names">MBean Groups and Names</h3><div class="text">

<p>The following MBean names shall be defined in the resource file
<code>/org/apache/catalina/mbeans/mbeans-descriptors.xml</code> (and
therefore available for use within the Administration/Configuration
web application for Tomcat):</p>

<table class="defaultTable">

  <tr>
    <th>MBean Name</th>
    <th>Group Name</th>
    <th>Catalina Interface</th>
    <th>Implementation Class</th>
  </tr>

  <tr>
    <td><code class="noHighlight">AccessLogValve</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.valves.AccessLogValve</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">BasicAuthenticator</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.authenticator.BasicAuthenticator</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">CertificatesValve</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.valves.CertificatesValve</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">ContextConfig</code></td>
    <td style="text-align: center;"><code class="noHighlight">LISTENER</code></td>
    <td><code class="noHighlight">org.apache.catalina.LifecycleListener</code></td>
    <td><code class="noHighlight">org.apache.catalina.startup.ContextConfig</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">ContextEnvironment</code></td>
    <td style="text-align: center;"><code class="noHighlight">RESOURCES</code></td>
    <td><code class="noHighlight">org.apache.catalina.deploy.ContextEnvironment</code></td>
    <td><code class="noHighlight">org.apache.catalina.deploy.ContextEnvironment</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">ContextResource</code></td>
    <td style="text-align: center;"><code class="noHighlight">RESOURCES</code></td>
    <td><code class="noHighlight">org.apache.catalina.deploy.ContextResource</code></td>
    <td><code class="noHighlight">org.apache.catalina.deploy.ContextResource</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">ContextResourceLink</code></td>
    <td style="text-align: center;"><code class="noHighlight">RESOURCES</code></td>
    <td><code class="noHighlight">org.apache.catalina.deploy.ContextResourceLink</code></td>
    <td><code class="noHighlight">org.apache.catalina.deploy.ContextResourceLink</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">CoyoteConnector</code></td>
    <td style="text-align: center;"><code class="noHighlight">CONNECTOR</code></td>
    <td><code class="noHighlight">org.apache.catalina.Connector</code></td>
    <td><code class="noHighlight">org.apache.coyote.tomcat4.CoyoteConnector</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">DigestAuthenticator</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.authenticator.DigestAuthenticator</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">EngineConfig</code></td>
    <td style="text-align: center;"><code class="noHighlight">LISTENER</code></td>
    <td><code class="noHighlight">org.apache.catalina.LifecycleListener</code></td>
    <td><code class="noHighlight">org.apache.catalina.startup.EngineConfig</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">ErrorReportValve</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.valves.ErrorReportValve</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">ErrorDispatcherValve</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.valves.ErrorDispatcherValve</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">FormAuthenticator</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.authenticator.FormAuthenticator</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">Group</code></td>
    <td style="text-align: center;"><code class="noHighlight">GROUP</code></td>
    <td><code class="noHighlight">org.apache.catalina.Group</code></td>
    <td><code class="noHighlight">org.apache.catalina.Group</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">HostConfig</code></td>
    <td style="text-align: center;"><code class="noHighlight">LISTENER</code></td>
    <td><code class="noHighlight">org.apache.catalina.LifecycleListener</code></td>
    <td><code class="noHighlight">org.apache.catalina.startup.HostConfig</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">HttpConnector10</code></td>
    <td style="text-align: center;"><code class="noHighlight">CONNECTOR</code></td>
    <td><code class="noHighlight">org.apache.catalina.Connector</code></td>
    <td><code class="noHighlight">org.apache.catalina.connector.http10.HttpConnector</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">HttpConnector11</code></td>
    <td style="text-align: center;"><code class="noHighlight">CONNECTOR</code></td>
    <td><code class="noHighlight">org.apache.catalina.Connector</code></td>
    <td><code class="noHighlight">org.apache.catalina.connector.http.HttpConnector</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">JAASRealm</code></td>
    <td style="text-align: center;"><code class="noHighlight">REALM</code></td>
    <td><code class="noHighlight">org.apache.catalina.Realm</code></td>
    <td><code class="noHighlight">org.apache.catalina.realm.JAASRealm</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">JDBCRealm</code></td>
    <td style="text-align: center;"><code class="noHighlight">REALM</code></td>
    <td><code class="noHighlight">org.apache.catalina.Realm</code></td>
    <td><code class="noHighlight">org.apache.catalina.realm.JDBCRealm</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">JDBCUserDatabase</code></td>
    <td style="text-align: center;"><code class="noHighlight">USERDATABASE</code></td>
    <td><code class="noHighlight">org.apache.catalina.users.JDBCUserDatabase</code></td>
    <td><code class="noHighlight">org.apache.catalina.users.JDBCUserDatabase</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">JNDIRealm</code></td>
    <td style="text-align: center;"><code class="noHighlight">REALM</code></td>
    <td><code class="noHighlight">org.apache.catalina.Realm</code></td>
    <td><code class="noHighlight">org.apache.catalina.realm.JNDIRealm</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">MBeanFactory</code></td>
    <td style="text-align: center;"><code class="noHighlight"></code></td>
    <td><code class="noHighlight"></code></td>
    <td><code class="noHighlight">org.apache.catalina.mbeans.MBeanFactory</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">MemoryRealm</code></td>
    <td style="text-align: center;"><code class="noHighlight">REALM</code></td>
    <td><code class="noHighlight">org.apache.catalina.Realm</code></td>
    <td><code class="noHighlight">org.apache.catalina.realm.MemoryRealm</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">MemoryUserDatabase</code></td>
    <td style="text-align: center;"><code class="noHighlight">USERDATABASE</code></td>
    <td><code class="noHighlight">org.apache.catalina.users.MemoryUserDatabase</code></td>
    <td><code class="noHighlight">org.apache.catalina.users.MemoryUserDatabase</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">NamingContextListener</code></td>
    <td style="text-align: center;"><code class="noHighlight">LISTENER</code></td>
    <td><code class="noHighlight">org.apache.catalina.LifecycleListener</code></td>
    <td><code class="noHighlight">org.apache.catalina.core.NamingContextListener</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">NamingResources</code></td>
    <td style="text-align: center;"><code class="noHighlight">RESOURCES</code></td>
    <td><code class="noHighlight">org.apache.catalina.deploy.NamingResources</code></td>
    <td><code class="noHighlight">org.apache.catalina.deploy.NamingResources</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">NonLoginAuthenticator</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.authenticator.NonLoginAuthenticator</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">PersistentManager</code></td>
    <td style="text-align: center;"><code class="noHighlight">MANAGER</code></td>
    <td><code class="noHighlight">org.apache.catalina.Manager</code></td>
    <td><code class="noHighlight">org.apache.catalina.session.PersistentManager</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">RemoteAddrValve</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.valves.RemoteAddrValve</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">RemoteHostValve</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.valves.RemoteHostValve</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">RequestDumperValve</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.valves.RequestDumperValve</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">Role</code></td>
    <td style="text-align: center;"><code class="noHighlight">ROLE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Role</code></td>
    <td><code class="noHighlight">org.apache.catalina.Role</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">SingleSignOn</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.valves.SingleSignOn</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">SSLAuthenticator</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.authenticator.SSLAuthenticator</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">StandardContext</code></td>
    <td style="text-align: center;"><code class="noHighlight">CONTEXT</code></td>
    <td><code class="noHighlight">org.apache.catalina.Context</code></td>
    <td><code class="noHighlight">org.apache.catalina.core.StandardContext</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">StandardContextValve</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.core.StandardContextValve</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">StandardEngine</code></td>
    <td style="text-align: center;"><code class="noHighlight">ENGINE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Engine</code></td>
    <td><code class="noHighlight">org.apache.catalina.core.StandardEngine</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">StandardEngineValve</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.core.StandardEngineValve</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">StandardHost</code></td>
    <td style="text-align: center;"><code class="noHighlight">HOST</code></td>
    <td><code class="noHighlight">org.apache.catalina.Host</code></td>
    <td><code class="noHighlight">org.apache.catalina.core.StandardHost</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">StandardHostValve</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.core.StandardHostValve</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">StandardManager</code></td>
    <td style="text-align: center;"><code class="noHighlight">MANAGER</code></td>
    <td><code class="noHighlight">org.apache.catalina.Manager</code></td>
    <td><code class="noHighlight">org.apache.catalina.session.StandardManager</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">StandardServer</code></td>
    <td style="text-align: center;"><code class="noHighlight">SERVER</code></td>
    <td><code class="noHighlight">org.apache.catalina.Server</code></td>
    <td><code class="noHighlight">org.apache.catalina.core.StandardServer</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">StandardService</code></td>
    <td style="text-align: center;"><code class="noHighlight">SERVICE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Service</code></td>
    <td><code class="noHighlight">org.apache.catalina.core.StandardService</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">StandardWrapper</code></td>
    <td style="text-align: center;"><code class="noHighlight">WRAPPER</code></td>
    <td><code class="noHighlight">org.apache.catalina.Wrapper</code></td>
    <td><code class="noHighlight">org.apache.catalina.core.StandardWrapper</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">StandardWrapperValve</code></td>
    <td style="text-align: center;"><code class="noHighlight">VALVE</code></td>
    <td><code class="noHighlight">org.apache.catalina.Valve</code></td>
    <td><code class="noHighlight">org.apache.catalina.core.StandardWrapperValve</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">User</code></td>
    <td style="text-align: center;"><code class="noHighlight">USER</code></td>
    <td><code class="noHighlight">org.apache.catalina.User</code></td>
    <td><code class="noHighlight">org.apache.catalina.User</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">UserDatabaseRealm</code></td>
    <td style="text-align: center;"><code class="noHighlight">REALM</code></td>
    <td><code class="noHighlight">org.apache.catalina.Realm</code></td>
    <td><code class="noHighlight">org.apache.catalina.realm.UserDatabaseRealm</code></td>
  </tr>

  <tr>
    <td><code class="noHighlight">WebappLoader</code></td>
    <td style="text-align: center;"><code class="noHighlight">LOADER</code></td>
    <td><code class="noHighlight">org.apache.catalina.Loader</code></td>
    <td><code class="noHighlight">org.apache.catalina.loader.WebappLoader</code></td>
  </tr>

</table>

</div><h3 id="JSR-88_Cross_Reference">JSR-88 Cross Reference</h3><div class="text">

<p>The deployment objects in the JSR-88 API object hierarchy correspond
to the specified MBean names or groups as follows:</p>

<table class="defaultTable">

  <tr>
    <th>JSR-88 API Object</th>
    <th>MBean Name or Group</th>
    <th>Comments</th>
  </tr>

  <tr>
    <td><code class="noHighlight">DeployableObject</code></td>
    <td><code class="noHighlight">${CONTEXT}</code></td>
    <td>Context deployment info plus the corresponding WAR file</td>
  </tr>

  <tr>
    <td><code class="noHighlight">Target</code></td>
    <td><code class="noHighlight">${HOST}</code></td>
    <td></td>
  </tr>

</table>

</div><div class="noprint"><h3 id="comments_section">
                  Comments
                </h3><div class="text"><p class="notice"><strong>Notice: </strong>This comments section collects your suggestions
                    on improving documentation for Apache Tomcat.<br><br>
                    If you have trouble and need help, read
                    <a href="http://tomcat.apache.org/findhelp.html">Find Help</a> page
                    and ask your question on the tomcat-users
                    <a href="http://tomcat.apache.org/lists.html">mailing list</a>.
                    Do not ask such questions here. This is not a Q&amp;A section.<br><br>
                    The Apache Comments System is explained <a href="../comments.html">here</a>.
                    Comments may be removed by our moderators if they are either
                    implemented or considered invalid/off-topic.
                  </p><div id="comments_thread"></div></div></div></div></div></div></div><footer><div id="footer">
    Copyright &copy; 1999-2016, The Apache Software Foundation
  </div></footer></div></body></html>